
export enum UserRole {
  SUPER_ADMIN = 1,
  ADMIN = 2,
  USER = 3,
  VIP = 4,
}

export enum UserStatus {
  ENABLED = 1,
  DISABLED = 2,
}

export interface User {
  id: string;
  username: string;
  email: string | null;
  nickname: string | null;
  avatar: string | null;
  role: UserRole;
  status: UserStatus;
  createdAt: Date;
  updatedAt: Date;
}

export interface CreateUserRequest {
  username: string;
  password?: string;
  email?: string | null;
  nickname?: string | null;
  avatar?: string | null;
  role: UserRole;
  status?: UserStatus;
}

export type UpdateUserRequest = Partial<CreateUserRequest> & {
  id: string;
};

